import subprocess

def run_external_program(program_path, *args):
    # 构造命令行参数列表
    cmd = [program_path] + list(args)
    
    # 使用subprocess.Popen启动程序
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    
    # 等待程序结束并获取输出和错误（如果需要的话）
    output, error = process.communicate()
    
    # 处理输出和错误（这里只是打印它们）
    if output:
        print("程序输出:")
        print(output.decode())
    if error:
        print("程序错误:")
        print(error.decode())
    
    # 获取程序的退出码
    return_code = process.returncode
    print(f"程序退出码: {return_code}")

# 使用函数启动一个外部程序，并传递参数
run_external_program('C:\\Users\\Administrator\\AppData\\Local\\Programs\\mediago\\mediago.exe', 'arg1', 'arg2', 'arg3')